From 887af41d021b19fa6d79b299d9cf10d483ca61f3 Mon Sep 17 00:00:00 2001 From: oliskoli Date: Tue, 21 Nov 2006 21:12:37 +0000 Subject: [PATCH] Add workaround for zlib bug "gzread buffer error on empty files". --- gpsbabel/gbfile.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gpsbabel/gbfile.c b/gpsbabel/gbfile.c index bc5505550..0916f63d0 100644 --- a/gpsbabel/gbfile.c +++ b/gpsbabel/gbfile.c @@ -228,6 +228,11 @@ gbfread(void *buf, const gbsize_t size, const gbsize_t members, gbfile *file) const char *errtxt; errtxt = gzerror(file->handle.gz, &errnum); + + /* Workaround for zlib bug: buffer error on empty files */ + if ((errnum == Z_BUF_ERROR) && (gztell(file->handle.gz) == 0)) { + return (gbsize_t) 0; + } if ((errnum != Z_STREAM_END) && (errnum != 0)) fatal("%s: zlib returned error %d ('%s')!\n", file->module, errnum, errtxt); -- 2.30.2